package co.edu.usbcali.unidades.presentation.backingBeans;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;

import co.edu.usbcali.unidades.exceptions.ZMessManager;
import co.edu.usbcali.unidades.modelo.Correspondencia;
import co.edu.usbcali.unidades.modelo.DetalleCorrespondencia;
import co.edu.usbcali.unidades.modelo.DtoCorrespondencia;
import co.edu.usbcali.unidades.modelo.Persona;
import co.edu.usbcali.unidades.modelo.PropietarioInmueble;
import co.edu.usbcali.unidades.modelo.TipoCorrespondencia;
import co.edu.usbcali.unidades.presentation.businessDelegate.BusinessDelegatorView;
import co.edu.usbcali.unidades.utilities.FacesUtils;

import com.icesoft.faces.component.ext.HtmlCommandButton;
import com.icesoft.faces.component.ext.HtmlInputText;
import com.icesoft.faces.component.ext.HtmlInputTextarea;
import com.icesoft.faces.component.ext.HtmlSelectOneMenu;

public class AlertaView {
	

	private HtmlInputText txtTitulo = new HtmlInputText();
	private HtmlInputText txtAsunto= new HtmlInputText();
	private HtmlInputTextarea areaMensaje;
	private HtmlCommandButton btnEnviar;
	private HtmlCommandButton btnLimpiar;

	// Metodo que limpia los valores
	public String action_Limpiar() {
		txtTitulo.setValue(null);
		txtAsunto.setValue(null);
		areaMensaje.setValue(null);
	
		return "";
	}

	

	// Metodo que guarda y entrega la correspondencia
	public String action_enviar() {
		try {
			//Consulto los propietarios de la unidad...
			String codAdmin = FacesUtils.getSession().getAttribute(	"codAdminLoc").toString();
			String codigoUnidad = BusinessDelegatorView.getUnidadesAdmin(codAdmin).get(0).getUnrNit();
			
			// consultar los propietarios de la unidad
			List<PropietarioInmueble> propietarios = BusinessDelegatorView.getPropietarioUnidad(codigoUnidad);
			
			if (propietarios.size() == 0 || propietarios == null) {
				throw new Exception("No Hay Propietarios A Quien Notificar");
			}
			String[] correos = new String[propietarios.size()];
			for (int i = 0; i < propietarios.size(); i++) {
				correos[i] = propietarios.get(i).getPersona().getPerCorreo();
			}
			
			BusinessDelegatorView.notificar(codigoUnidad, 
					FacesUtils.checkString(txtTitulo),
					FacesUtils.checkString(txtAsunto),
					FacesUtils.checkString(areaMensaje),
					correos);
			FacesUtils.addInfoMessage("Alerta Enviada Con Exito ");
			action_Limpiar();

		} catch (Exception e) {
			FacesUtils.addErrorMessage(e.getMessage());
		}

		return "";
	}



	public HtmlInputText getTxtTitulo() {
		return txtTitulo;
	}



	public void setTxtTitulo(HtmlInputText txtTitulo) {
		this.txtTitulo = txtTitulo;
	}



	public HtmlInputText getTxtAsunto() {
		return txtAsunto;
	}



	public void setTxtAsunto(HtmlInputText txtAsunto) {
		this.txtAsunto = txtAsunto;
	}



	public HtmlInputTextarea getAreaMensaje() {
		return areaMensaje;
	}



	public void setAreaMensaje(HtmlInputTextarea areaMensaje) {
		this.areaMensaje = areaMensaje;
	}



	public HtmlCommandButton getBtnEnviar() {
		return btnEnviar;
	}



	public void setBtnEnviar(HtmlCommandButton btnEnviar) {
		this.btnEnviar = btnEnviar;
	}



	public HtmlCommandButton getBtnLimpiar() {
		return btnLimpiar;
	}



	public void setBtnLimpiar(HtmlCommandButton btnLimpiar) {
		this.btnLimpiar = btnLimpiar;
	}
	
	//Get and Set....
	
	
}
